1. Field of the Invention
The present invention relates generally to the recording of data onto optical discs, and more particularly to a method for more efficiently processing data files selected for recording onto an optical disc.
2. Description of the Related Art
Optical disc storage of data offers relatively high capacity data storage (e.g., approximately 640 Megabytes) on a relatively small and inexpensive optical disc. Optical disc recording commonly involves recording (sometimes referred to as “burning”) audio tracks or data files on one or more spiral tracks on an optical disc, which can typically hold between 1 and 99 tracks. The high capacity of optical discs for data storage represents a tremendous advancement over prior art data storage such as the floppy disk which has a capacity of approximately 1.4 Megabytes. Conceivably, the trend will continue and optical discs will offer continually increasing storage capacities on similar sized or even smaller optical discs.
The process of burning data to an optical disc involves several steps between the selection of data files to be recorded and the recording of those files on an optical disc. Selected data files are located, examined, and designated in a recording order in the process of the host system, utilizing a CD recording software application, preparing to record data files to the optical disc media. The process is generally illustrated in FIG. 1.
In FIG. 1, a block diagram 100 illustrates the operations in which data files are processed to be recorded to a CD optical disc. The burn request 104 begins the process and represents a group of one or more data files selected to be written to a CD optical disc. Due to the storage capacity of a CD optical disc, the size of the data files might be quite large, or there may be many smaller files combined to form a large volume of data. However large or small the data files may be, or wherever the data files may be located, the prior art processing of the data in preparation to burn the files to a CD optical disc would next perform two operations simultaneously. The processes of recording order processing 104 and file system creation 106 are performed by the system once the files have been selected for recording. Recording order processing 104 involves the ordering of the selected files in the sequence in which the data files will be burned to the CD optical disc. As is known, the reading and writing of data by a computer occurs within the structure of individual sectors of a certain number of bytes. Files are typically multiple sectors in length, and the recording order processing 104 involves sequencing the files to make the most efficient use of both system resources required for the operation of recording the data files, as well as the available space on the CD on which the data files will be written. During the operation of recording order processing 104 the system generates a list or record of data identifying the data files to be recorded in the order in which they are to be recorded.
At the same time as the recording order processing 104 is occurring, the operation of file system creation 106 is being accomplished. In order to locate, examine, and process the data files for recording, the system maps out an exact location and structure of the data selected for recording. The file system includes the path tables and directory records mapping out each of the data files selected for recording.
The list translation layer 108 generates yet another record of data for the selected data files. In the list translation layer 108, the data records generated by the recording order processing 104 and the file system creation 106 are combined and then unpacked to be sent in individual structures (e.g., file name, directory, path, root, etc.) to the CD recording engine 110. The data records for each data file are assembled in the sequence determined by the recording order processing 104, unpacked into individual structures, and then the individual structures sent to the CD recording engine 110. In the CD recording engine 110, the individual structures are then re-assembled into data records for each file that will be recorded on a CD optical disc. The data records are assembled in the writing order and with the necessary data structures to enable the CD recording engine to locate, open, and read the selected files and then write the data files and, by using the optical CD recording circuitry 112, burn the files to the CD optical disc 114.
It should be appreciated that the prior art process 100 generates multiple lists of data records for each data file selected for burning to a CD optical disc. As is known, each time the list or a variation is generated, the system dedicates and uses system resources (e.g., memory) in the evaluation of the data records and the generation of the lists. In the example of transferring data to a floppy disk with an approximately 1.4 Megabyte capacity, the drain on available system resources is relatively light, but with the ever-increasing capacity of optical discs, and the ever-increasing demand for more efficient and economical utilization of available storage capacity, the conservation of system resources and more efficient processing of data files in preparation for burning to an optical disc is of paramount concern. By way of example, thousands of data files could be selected for burning to a single CD optical disc with a capacity for 640 Megabytes of data. In that case, the prior art would generate no less than four different lists of information about the selected data files, with some of the lists having identical information contained therein. Because the system resources could rapidly become overloaded, some of the data might be lost, the writing process could fail altogether, and the system performance itself could degrade or the system could even crash.
In view of the foregoing, there is a need for a method of processing data files in preparation for recording to an optical disc that minimizes drain on system resources while maximizing efficient and economical use of the storage capacity of an optical disc.